--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
scripts/build-backend.js v4.4.0-rc.3 (0115fa43) Text, 4.65 KB
T8b949e#!/usr/bin/env node
Tff7b72const Tb4b4b4{ Te6edf3spawnSync Tb4b4b4} Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"child_process"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3fs Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"fs"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3path Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"path"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3crypto Tff7b72= Te6edf3requireTb4b4b4(Ta5d6ff"crypto"Tb4b4b4)Tb4b4b4;
Tff7b72function Te6edf3getFilesTb4b4b4(Te6edf3dirTb4b4b4, Te6edf3fileList Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3files Tff7b72= Te6edf3fsTb4b4b4.Te6edf3readdirSyncTb4b4b4(Te6edf3dirTb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3file Tff7b72of Te6edf3filesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3name Tff7b72= Te6edf3pathTb4b4b4.Te6edf3joinTb4b4b4(Te6edf3dirTb4b4b4, Te6edf3fileTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3fsTb4b4b4.Te6edf3statSyncTb4b4b4(Te6edf3nameTb4b4b4)Tb4b4b4.Te6edf3isDirectoryTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3getFilesTb4b4b4(Te6edf3nameTb4b4b4, Te6edf3fileListTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3fileListTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3nameTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3fileListTb4b4b4;
Tb4b4b4}
Tff7b72function Te6edf3stripPythonBytecodeArtifactsTb4b4b4(Te6edf3dirTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3fsTb4b4b4.Te6edf3existsSyncTb4b4b4(Te6edf3dirTb4b4b4)Tb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72const Te6edf3entries Tff7b72= Te6edf3fsTb4b4b4.Te6edf3readdirSyncTb4b4b4(Te6edf3dirTb4b4b4, Tb4b4b4{ Te6edf3withFileTypesTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3ent Tff7b72of Te6edf3entriesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3full Tff7b72= Te6edf3pathTb4b4b4.Te6edf3joinTb4b4b4(Te6edf3dirTb4b4b4, Te6edf3entTb4b4b4.Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3entTb4b4b4.Te6edf3isDirectoryTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3entTb4b4b4.Te6edf3name Tff7b72=== Ta5d6ff"__pycache__"Tb4b4b4) Tb4b4b4{
Te6edf3fsTb4b4b4.Te6edf3rmSyncTb4b4b4(Te6edf3fullTb4b4b4, Tb4b4b4{ Te6edf3recursiveTff7b72: Tff7b72trueTb4b4b4, Te6edf3forceTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3stripPythonBytecodeArtifactsTb4b4b4(Te6edf3fullTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3entTb4b4b4.Te6edf3nameTb4b4b4.Te6edf3endsWithTb4b4b4(Ta5d6ff".pyc"Tb4b4b4) Tff7b72|| Te6edf3entTb4b4b4.Te6edf3nameTb4b4b4.Te6edf3endsWithTb4b4b4(Ta5d6ff".pyo"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3fsTb4b4b4.Te6edf3unlinkSyncTb4b4b4(Te6edf3fullTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tff7b72function Te6edf3generateManifestTb4b4b4(Te6edf3buildDirTb4b4b4, Te6edf3manifestPathTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Ta5d6ff"Generating backend integrity manifest..."Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3files Tff7b72= Te6edf3getFilesTb4b4b4(Te6edf3buildDirTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3manifest Tff7b72= Tb4b4b4{
Te6edf3_metadataTff7b72: Tb4b4b4{
Te6edf3versionTff7b72: T79c0ff1Tb4b4b4,
Te6edf3dateTff7b72: Tff7b72new Tffa657DateTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3toISOStringTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"T"Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4,
Te6edf3timeTff7b72: Tff7b72new Tffa657DateTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3toISOStringTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"T"Tb4b4b4)Tb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff"."Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3filesTff7b72: Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3file Tff7b72of Te6edf3filesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3relativePath Tff7b72= Te6edf3pathTb4b4b4.Te6edf3relativeTb4b4b4(Te6edf3buildDirTb4b4b4, Te6edf3fileTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3relativePath Tff7b72=== Ta5d6ff"backend-manifest.json"Tb4b4b4) Tff7b72continueTb4b4b4;
Tff7b72const Te6edf3fileBuffer Tff7b72= Te6edf3fsTb4b4b4.Te6edf3readFileSyncTb4b4b4(Te6edf3fileTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hash Tff7b72= Te6edf3cryptoTb4b4b4.Te6edf3createHashTb4b4b4(Ta5d6ff"sha256"Tb4b4b4)Tb4b4b4.Te6edf3updateTb4b4b4(Te6edf3fileBufferTb4b4b4)Tb4b4b4.Te6edf3digestTb4b4b4(Ta5d6ff"hex"Tb4b4b4)Tb4b4b4;
Te6edf3manifestTb4b4b4.Te6edf3filesTb4b4b4[Te6edf3relativePathTb4b4b4] Tff7b72= Te6edf3hashTb4b4b4;
Tb4b4b4}
Te6edf3fsTb4b4b4.Te6edf3writeFileSyncTb4b4b4(Te6edf3manifestPathTb4b4b4, Tffa657JSONTb4b4b4.Te6edf3stringifyTb4b4b4(Te6edf3manifestTb4b4b4, Tff7b72nullTb4b4b4, T79c0ff2Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(Ta5d6ff`Ta5d6ffManifest saved to Tffd700${Te6edf3manifestPathTffd700}Ta5d6ff (Tffd700${Tffa657ObjectTb4b4b4.Te6edf3keysTb4b4b4(Te6edf3manifestTb4b4b4.Te6edf3filesTb4b4b4)Tb4b4b4.Te6edf3lengthTffd700}Ta5d6ff files)Ta5d6ff`Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3platform Tff7b72= Te6edf3processTb4b4b4.Te6edf3envTb4b4b4.Te6edf3PLATFORM Tff7b72|| Te6edf3processTb4b4b4.Te6edf3platformTb4b4b4;
Tff7b72const Te6edf3arch Tff7b72= Te6edf3processTb4b4b4.Te6edf3envTb4b4b4.Te6edf3ARCH Tff7b72|| Te6edf3processTb4b4b4.Te6edf3archTb4b4b4;
Tff7b72const Te6edf3isWin Tff7b72= Te6edf3platform Tff7b72=== Ta5d6ff"win32" Tff7b72|| Te6edf3platform Tff7b72=== Ta5d6ff"win"Tb4b4b4;
Tff7b72const Te6edf3isDarwin Tff7b72= Te6edf3platform Tff7b72=== Ta5d6ff"darwin"Tb4b4b4;
Tff7b72const Te6edf3targetName Tff7b72= Te6edf3isWin Tff7b72? Ta5d6ff"ReticulumMeshChatX.exe" Tff7b72: Ta5d6ff"ReticulumMeshChatX"Tb4b4b4;
Tff7b72let Te6edf3platformFolder Tff7b72= Ta5d6ff"linux"Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3isWinTb4b4b4) Tb4b4b4{
Te6edf3platformFolder Tff7b72= Ta5d6ff"win32"Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3isDarwinTb4b4b4) Tb4b4b4{
Te6edf3platformFolder Tff7b72= Ta5d6ff"darwin"Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3buildDirRelative Tff7b72= Ta5d6ff`Ta5d6ffbuild/exe/Tffd700${Te6edf3platformFolderTffd700}Ta5d6ff-Tffd700${Te6edf3archTffd700}Ta5d6ff`Tb4b4b4;
Tff7b72const Te6edf3buildDir Tff7b72= Te6edf3pathTb4b4b4.Te6edf3joinTb4b4b4(Te6edf3__dirnameTb4b4b4, Ta5d6ff".."Tb4b4b4, Te6edf3buildDirRelativeTb4b4b4)Tb4b4b4;
T8b949e// Allow overriding the python command
Tff7b72const Te6edf3pythonCmd Tff7b72= Te6edf3processTb4b4b4.Te6edf3envTb4b4b4.Te6edf3PYTHON_CMD Tff7b72|| Ta5d6ff"poetry run python"Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(
Ta5d6ff`Ta5d6ffBuilding backend for Tffd700${Te6edf3platformTffd700}Ta5d6ff (target: Tffd700${Te6edf3targetNameTffd700}Ta5d6ff, output: Tffd700${Te6edf3buildDirRelativeTffd700}Ta5d6ff) using: Tffd700${Te6edf3pythonCmdTffd700}Ta5d6ff`
Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3env Tff7b72= Tb4b4b4{
Tb4b4b4...Te6edf3processTb4b4b4.Te6edf3envTb4b4b4,
Te6edf3CX_FREEZE_TARGET_NAMETff7b72: Te6edf3targetNameTb4b4b4,
Te6edf3CX_FREEZE_BUILD_EXETff7b72: Te6edf3buildDirRelativeTb4b4b4,
Te6edf3PYTHONDONTWRITEBYTECODETff7b72: Ta5d6ff"1"Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72const Te6edf3cmdParts Tff7b72= Te6edf3pythonCmdTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3splitTb4b4b4(Ta5d6ff/\s+/Tb4b4b4)Tb4b4b4.Te6edf3filterTb4b4b4(Tffa657BooleanTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3cmd Tff7b72= Te6edf3cmdPartsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3args Tff7b72= Tb4b4b4[Tb4b4b4...Te6edf3cmdPartsTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4, Ta5d6ff"cx_setup.py"Tb4b4b4, Ta5d6ff"build"Tb4b4b4]Tb4b4b4;
Tff7b72let Te6edf3spawnCmd Tff7b72= Te6edf3cmdTb4b4b4;
Tff7b72let Te6edf3spawnArgs Tff7b72= Te6edf3argsTb4b4b4;
Tff7b72const Te6edf3rosettaX64 Tff7b72= Te6edf3isDarwin Tff7b72&& Te6edf3arch Tff7b72=== Ta5d6ff"x64" Tff7b72&& Te6edf3processTb4b4b4.Te6edf3arch Tff7b72=== Ta5d6ff"arm64" Tff7b72&& Tff7b72!Te6edf3processTb4b4b4.Te6edf3envTb4b4b4.Te6edf3PYTHON_CMDTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3rosettaX64Tb4b4b4) Tb4b4b4{
Te6edf3spawnCmd Tff7b72= Ta5d6ff"arch"Tb4b4b4;
Te6edf3spawnArgs Tff7b72= Tb4b4b4[Ta5d6ff"-x86_64"Tb4b4b4, Te6edf3cmdTb4b4b4, Tb4b4b4...Te6edf3argsTb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3result Tff7b72= Te6edf3spawnSyncTb4b4b4(Te6edf3spawnCmdTb4b4b4, Te6edf3spawnArgsTb4b4b4, Tb4b4b4{
Te6edf3stdioTff7b72: Ta5d6ff"inherit"Tb4b4b4,
Te6edf3shellTff7b72: Tff7b72falseTb4b4b4,
Te6edf3envTff7b72: Te6edf3envTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3resultTb4b4b4.Te6edf3errorTb4b4b4) Tb4b4b4{
Tff7b72throw Te6edf3resultTb4b4b4.Te6edf3errorTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3resultTb4b4b4.Te6edf3status Tff7b72!== T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3processTb4b4b4.Te6edf3exitTb4b4b4(Te6edf3resultTb4b4b4.Te6edf3status Tff7b72|| T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3fsTb4b4b4.Te6edf3existsSyncTb4b4b4(Te6edf3buildDirTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3isDarwinTb4b4b4) Tb4b4b4{
Te6edf3stripPythonBytecodeArtifactsTb4b4b4(Te6edf3buildDirTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3manifestPath Tff7b72= Te6edf3pathTb4b4b4.Te6edf3joinTb4b4b4(Te6edf3buildDirTb4b4b4, Ta5d6ff"backend-manifest.json"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3skipManifest Tff7b72=
Te6edf3processTb4b4b4.Te6edf3envTb4b4b4.Te6edf3MESHCHATX_SKIP_BACKEND_MANIFEST Tff7b72=== Ta5d6ff"1" Tff7b72||
Te6edf3processTb4b4b4.Te6edf3envTb4b4b4.Te6edf3MESHCHATX_SKIP_BACKEND_MANIFEST Tff7b72=== Ta5d6ff"true"Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3skipManifestTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3fsTb4b4b4.Te6edf3existsSyncTb4b4b4(Te6edf3manifestPathTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3fsTb4b4b4.Te6edf3unlinkSyncTb4b4b4(Te6edf3manifestPathTb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3consoleTb4b4b4.Te6edf3logTb4b4b4(
Ta5d6ff"Skipping backend-manifest.json (MESHCHATX_SKIP_BACKEND_MANIFEST); universal merge requires identical non-binary files."
Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3generateManifestTb4b4b4(Te6edf3buildDirTb4b4b4, Te6edf3manifestPathTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff`Ta5d6ffBuild directory not found (Tffd700${Te6edf3buildDirTffd700}Ta5d6ff), manifest generation skipped.Ta5d6ff`Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3errorTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Build failed:"Tb4b4b4, Te6edf3errorTb4b4b4.Te6edf3messageTb4b4b4)Tb4b4b4;
Te6edf3processTb4b4b4.Te6edf3exitTb4b4b4(T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────